μλ°μ€ν¬λ¦½νΈ import assertionμ μ±λ₯ μν₯μ μ¬μΈ΅ λΆμν©λλ€. λͺ¨λ μ ν κ²μ¬μ μ€λ²ν€λμ λ‘λ© μκ° μ΅μ ν μ λ΅μ μ΄μ μ λ§μΆ₯λλ€.
μλ°μ€ν¬λ¦½νΈ Import Assertion μ±λ₯: λͺ¨λ μ ν κ²μ¬ μ€λ²ν€λ
ECMAScript λͺ¨λκ³Ό ν¨κ» λμ λ μλ°μ€ν¬λ¦½νΈ import assertionμ κ°μ Έμ€λ λͺ¨λμ΄ μμλ μ νμ΄λ νμμ λ°λ₯΄λμ§ λ³΄μ₯νλ λ©μ»€λμ¦μ μ 곡ν©λλ€. μ΄λ μ½λμ μ λ’°μ±κ³Ό 보μμ ν₯μμν€μ§λ§, νΉν λͺ¨λ μ ν κ²μ¬μ κ΄λ ¨λ μ€λ²ν€λ λ± μ±λ₯μ λ―ΈμΉλ μν₯μ μ΄ν΄νλ κ²μ΄ μ€μν©λλ€. μ΄ κΈμμλ import assertionμ μ±λ₯ λΉμ©μ νμνκ³ μ΅μ ν μ λ΅μ μ 곡ν©λλ€.
Import Assertionμ΄λ 무μμΈκ°?
Import assertionμ κ°λ°μκ° κ°μ Έμ€λ λͺ¨λμ λν μΆκ° μ 보λ₯Ό λͺ μν μ μκ² ν΄μ£Όλ μλ°μ€ν¬λ¦½νΈ κΈ°λ₯μ λλ€. μ΄ μ 보λ μλ°μ€ν¬λ¦½νΈ λ°νμ(μ: λΈλΌμ°μ λλ Node.js)μμ λͺ¨λμ΄ μμ μ νμ΄λ νμκ³Ό μΌμΉνλμ§ νμΈνλ λ° μ¬μ©λ©λλ€. μ£Όλ μ¬μ© μ¬λ‘λ νΉν λμ μΌλ‘ κ°μ Έμ€λ λ°μ΄ν°λ μ λ’°ν μ μλ μμ€μ λͺ¨λμ λ€λ£° λ λͺ¨λμ 무결μ±κ³Ό μ νμ±μ 보μ₯νλ κ²μ λλ€.
import assertionμ μ¬μ©νλ κΈ°λ³Έ ꡬ문μ λ€μκ³Ό κ°μ΅λλ€:
import data from './data.json' assert { type: 'json' };
μ΄ μμμμ assert { type: 'json' } ꡬ문μ λ°νμμκ² κ°μ Έμ¨ λͺ¨λμ΄ JSON νμΌμ΄μ΄μΌ ν¨μ μ립λλ€. λ§μ½ νμΌμ΄ μ ν¨ν JSON νμΌμ΄ μλ κ²½μ°, λ°νμμ μ€λ₯λ₯Ό λ°μμμΌ μ ν리μΌμ΄μ
μ΄ μ μ¬μ μΌλ‘ μμλκ±°λ μλͺ»λ λ°μ΄ν°λ₯Ό μ¬μ©νλ κ²μ λ°©μ§ν©λλ€.
Import Assertionμ λͺ©μ
Import assertionμ νλ μλ°μ€ν¬λ¦½νΈ κ°λ°μμ λͺ κ°μ§ μ£Όμ λ¬Έμ λ₯Ό ν΄κ²°ν©λλ€:
- μ ν μμ μ±(Type Safety): κ°μ Έμ¨ λͺ¨λμ΄ μμλ μ ν(μ: JSON, CSS, WebAssembly)μ λ°λ₯΄λλ‘ λ³΄μ₯ν©λλ€.
- λ°μ΄ν° 무결μ±(Data Integrity): κ°μ Έμ¨ λ°μ΄ν°μ νμκ³Ό ꡬ쑰λ₯Ό νμΈν©λλ€.
- 보μ(Security): μ μμ μ΄κ±°λ μμλ λͺ¨λμ λ‘λ©μ λ°©μ§ν©λλ€.
- λͺ μμ λͺ¨λ λ©νλ°μ΄ν°(Explicit Module Metadata): λͺ¨λ μ νμ λν λͺ ννκ³ λͺ¨νΈνμ§ μμ μ 보λ₯Ό μ 곡ν©λλ€.
μ ν리μΌμ΄μ μ΄ CDNμμ νΈμ€ν λλ JSON νμΌλ‘λΆν° μ€μ λ°μ΄ν°λ₯Ό κ°μ Έμ€λ μλ리μ€λ₯Ό μκ°ν΄ λ΄ μλ€. Import assertionμ΄ μλ€λ©΄, μμλ CDNμ΄ μ€μ νμΌμ μ μμ μΈ μλ°μ€ν¬λ¦½νΈ μ½λλ₯Ό μ£Όμ ν κ°λ₯μ±μ΄ μμ΅λλ€. Import assertionμ μ¬μ©νλ©΄ μ ν¨ν JSON λ°μ΄ν°λ§ λ‘λλλλ‘ λ³΄μ₯νμ¬ μμμ μ½λ μ€ν μνμ μνν μ μμ΅λλ€.
μ±λ₯μ λ―ΈμΉλ μν₯: λͺ¨λ μ ν κ²μ¬ μ€λ²ν€λ
Import assertionμ μλΉν μ΄μ μ μ 곡νμ§λ§, λͺ¨λ λ‘λ© μ€ μνλλ μΆκ° κ²μ¬λ‘ μΈν΄ μ±λ₯ μ€λ²ν€λλ₯Ό λ°μμν΅λλ€. μ΄ μ€λ²ν€λλ μ¬λ¬ λ°©μμΌλ‘ λνλ μ μμ΅λλ€:
- νμ± λ° μ ν¨μ± κ²μ¬: μλ°μ€ν¬λ¦½νΈ λ°νμμ λͺ
μλ μ νμ λ°λΌ κ°μ Έμ¨ λͺ¨λμ νμ±νκ³ μ ν¨μ±μ κ²μ¬ν΄μΌ ν©λλ€. μλ₯Ό λ€μ΄,
assert { type: 'json' }μΌλ‘ JSON νμΌμ κ°μ Έμ¬ λ, λ°νμμ νμΌμ JSONμΌλ‘ νμ±νκ³ JSON ꡬ문μ λ°λ₯΄λμ§ νμΈν΄μΌ ν©λλ€. - λ©λͺ¨λ¦¬ μ¬μ©λ μ¦κ°: λͺ¨λμ νμ±νκ³ μ ν¨μ±μ κ²μ¬νλ λ° μΆκ° λ©λͺ¨λ¦¬κ° νμνλ©°, μ΄λ νΉν 리μμ€κ° μ νλ μ₯μΉμμ μ ν리μΌμ΄μ μ±λ₯μ μν₯μ μ€ μ μμ΅λλ€.
- μ€ν μ§μ°: μ ν¨μ± κ²μ¬ κ³Όμ μ ν΄λΉ λͺ¨λ λ° νμ μ’ μ λͺ¨λμ μ€νμ μ§μ°μν¬ μ μμ΅λλ€.
μ€λ²ν€λ μ λν
import assertionμ μ€μ μ±λ₯ μν₯μ μ¬λ¬ μμΈμ λ°λΌ λ¬λΌμ§ μ μμ΅λλ€:
- λͺ¨λ ν¬κΈ°: μΌλ°μ μΌλ‘ λͺ¨λμ΄ ν΄μλ‘ νμ±νκ³ μ ν¨μ±μ κ²μ¬νλ λ° λ μ€λ 걸립λλ€.
- λͺ¨λ 볡μ‘μ±: 볡μ‘ν λͺ¨λ νμ(μ: WebAssembly)μ μλΉν νμ± μ€λ²ν€λλ₯Ό μ λ°ν μ μμ΅λλ€.
- μλ°μ€ν¬λ¦½νΈ μμ§: κ°κΈ° λ€λ₯Έ μλ°μ€ν¬λ¦½νΈ μμ§(μ: V8, SpiderMonkey, JavaScriptCore)μ import assertionμ λν μ΅μ ν μμ€μ΄ λ€λ₯Ό μ μμ΅λλ€.
- νλμ¨μ΄: κΈ°λ³Έ νλμ¨μ΄μ μ±λ₯ λν μ€λ²ν€λμ μν₯μ μ€ μ μμ΅λλ€.
μ€λ²ν€λλ₯Ό μ λννλ €λ©΄ import assertionμ μ¬μ©νμ λμ μ¬μ©νμ§ μμμ λμ λͺ¨λ λ‘λ© μκ°μ λΉκ΅νλ λ²€μΉλ§ν¬λ₯Ό κ³ λ €ν΄ λ³΄μΈμ. λ²€μΉλ§ν¬λ λ€μν ν¬κΈ°μ μ¬λ¬ μ νμ λͺ¨λ(JSON, CSS, WebAssembly)μ λ‘λνλ λ° κ±Έλ¦¬λ μκ°μ μΈ‘μ ν΄μΌ ν©λλ€. λ€μν νκ²½μμμ μ±λ₯ μν₯μ μ΄ν΄νκΈ° μν΄ μ΄ λ²€μΉλ§ν¬λ₯Ό λ€μν μ₯μΉμ λΈλΌμ°μ μμ μ€ννλ κ²μ΄ μ€μν©λλ€. μλ₯Ό λ€μ΄, κ³ μ¬μ λ°μ€ν¬ν±, μ€κΈ λ©ν±, μ μ λ ₯ λͺ¨λ°μΌ μ₯μΉμμ μΈ‘μ νμ¬ μ€λ²ν€λμ λν ν¬κ΄μ μΈ μ΄ν΄λ₯Ό μ»μ μ μμ΅λλ€. μ νν μκ° μΈ‘μ μ μν΄ μλ°μ€ν¬λ¦½νΈμ `performance` API(μ: `performance.now()`)λ₯Ό μ¬μ©ν μ μμ΅λλ€.
μλ₯Ό λ€μ΄, 1MB JSON νμΌμ λ‘λνλ λ° import assertion μμ΄λ 50msκ° κ±Έλ¦¬κ³ assert { type: 'json' }μ μ¬μ©νλ©΄ 75msκ° κ±Έλ¦΄ μ μμ΅λλ€. λ§μ°¬κ°μ§λ‘, 볡μ‘ν WebAssembly λͺ¨λμ μ ν¨μ± κ²μ¬ μ€λ²ν€λλ‘ μΈν΄ λ‘λ© μκ°μ΄ λ ν¬κ² μ¦κ°ν μ μμ΅λλ€. μ΄λ κ°μ μμΉμΌ λΏμ΄λ©°, μ€μ κ²°κ³Όλ νΉμ μ¬μ© μ¬λ‘μ νκ²½μ λ°λΌ λ¬λΌμ§λλ€.
Import Assertion μ±λ₯ μ΅μ ν μ λ΅
Import assertionμ΄ μ±λ₯ μ€λ²ν€λλ₯Ό μ λ°ν μ μμ§λ§, κ·Έ μν₯μ μνν μ μλ λͺ κ°μ§ μ λ΅μ΄ μμ΅λλ€:
1. λͺ¨λ ν¬κΈ° μ΅μν
κ°μ Έμ€λ λͺ¨λμ ν¬κΈ°λ₯Ό μ€μ΄λ©΄ νμ± λ° μ ν¨μ± κ²μ¬ μκ°μ ν¬κ² λ¨μΆν μ μμ΅λλ€. μ΄λ μ¬λ¬ κΈ°λ²μ ν΅ν΄ λ¬μ±ν μ μμ΅λλ€:
- μ΅μν(Minification): λͺ¨λμμ λΆνμν 곡백과 μ£Όμμ μ κ±°ν©λλ€.
- μμΆ(Compression): Gzipμ΄λ Brotliμ κ°μ μκ³ λ¦¬μ¦μ μ¬μ©νμ¬ λͺ¨λμ μμΆν©λλ€.
- μ½λ λΆν (Code Splitting): λͺ¨λμ λ μκ³ κ΄λ¦¬νκΈ° μ¬μ΄ μ²ν¬λ‘ λλλλ€.
- λ°μ΄ν° μ΅μ ν(Data Optimization): λͺ¨λ λ΄μ λ°μ΄ν° ꡬ쑰λ₯Ό μ΅μ ννμ¬ ν¬κΈ°λ₯Ό μ€μ λλ€. μλ₯Ό λ€μ΄, μ μ ν κ²½μ° λ¬Έμμ΄ λμ μ μλ₯Ό μ¬μ©ν©λλ€.
JSON μ€μ νμΌμ κ²½μ°λ₯Ό μκ°ν΄ 보μΈμ. JSONμ μ΅μννκ³ λΆνμν 곡백μ μ κ±°ν¨μΌλ‘μ¨ νμΌ ν¬κΈ°λ₯Ό 20-50%κΉμ§ μ€μΌ μ μμΌλ©°, μ΄λ νμ± μκ° λ¨μΆμΌλ‘ μ§μ μ΄μ΄μ§λλ€. μλ₯Ό λ€μ΄, `jq`(컀맨λ λΌμΈ JSON νλ‘μΈμ)λ μ¨λΌμΈ JSON μ΅μν λꡬμ κ°μ λκ΅¬λ‘ μ΄ κ³Όμ μ μλνν μ μμ΅λλ€.
2. ν¨μ¨μ μΈ λ°μ΄ν° νμ μ¬μ©
λ°μ΄ν° νμμ μ νμ νμ± μ±λ₯μ ν° μν₯μ λ―ΈμΉ μ μμ΅λλ€. μΌλΆ νμμ λ³Έμ§μ μΌλ‘ λ€λ₯Έ νμλ³΄λ€ νμ±νκΈ°μ λ ν¨μ¨μ μ λλ€.
- JSON λμ: JSONμ΄ λ리 μ¬μ©λμ§λ§, MessagePackμ΄λ Protocol Buffersμ κ°μ λμ νμμ νΉν λμ©λ λ°μ΄ν°μ μμ λ λμ νμ± μ±λ₯μ μ 곡ν μ μμ΅λλ€.
- λ°μ΄λ리 νμ: 볡μ‘ν λ°μ΄ν° ꡬ쑰μ κ²½μ°, λ°μ΄λ리 νμμ μ¬μ©νλ©΄ νμ± μ€λ²ν€λλ₯Ό ν¬κ² μ€μΌ μ μμ΅λλ€.
μλ₯Ό λ€μ΄, λλμ λ°μ΄ν°λ₯Ό λ€λ£¨λ κ²½μ° JSONμμ MessagePackμΌλ‘ μ ννλ©΄ MessagePackμ λ κ°κ²°ν λ°μ΄λ리 νμ λλΆμ λμ λλ μ±λ₯ ν₯μμ κ°μ Έμ¬ μ μμ΅λλ€. μ΄λ νΉν μ²λ¦¬ λ₯λ ₯μ΄ μ νλ λͺ¨λ°μΌ μ₯μΉμμ λμ± κ·Έλ μ΅λλ€.
3. λͺ¨λ λ‘λ© μ λ΅ μ΅μ ν
λͺ¨λμ λ‘λνλ λ°©μ λν μ±λ₯μ μν₯μ μ€ μ μμ΅λλ€. μ§μ° λ‘λ©(lazy loading) λ° μ¬μ λ‘λ©(preloading)κ³Ό κ°μ μ λ΅μ λ‘λ© κ³Όμ μ μ΅μ ννλ λ° λμμ΄ λ μ μμ΅λλ€.
- μ§μ° λ‘λ©(Lazy Loading): λͺ¨λ λͺ¨λμ ν λ²μ λ‘λνλ λμ , νμν λλ§ λͺ¨λμ λ‘λν©λλ€. μ΄λ μ ν리μΌμ΄μ μ μ΄κΈ° λ‘λ© μκ°μ μ€μΌ μ μμ΅λλ€.
- μ¬μ λ‘λ©(Preloading): μ€μν λͺ¨λμ νμνκΈ° μ μ λ°±κ·ΈλΌμ΄λμμ λ‘λν©λλ€. μ΄λ μ€μ λ‘ λͺ¨λμ΄ νμν λ λ‘λνλ λ° κ±Έλ¦¬λ μκ°μ μ€μ¬ μ ν리μΌμ΄μ μ μ²΄κ° μ±λ₯μ ν₯μμν¬ μ μμ΅λλ€.
- λ³λ ¬ λ‘λ©(Parallel Loading): λ©ν°μ½μ΄ νλ‘μΈμλ₯Ό νμ©νμ¬ μ¬λ¬ λͺ¨λμ λ³λ ¬λ‘ λ‘λν©λλ€.
μλ₯Ό λ€μ΄, μ΄κΈ° νμ΄μ§ λ‘λ μ μ¦μ 보μ΄μ§ μλ λΆμ νΈλ컀λ 볡μ‘ν UI κ΅¬μ± μμμ κ°μ λΉν΅μ¬ λͺ¨λμ μ§μ° λ‘λ©ν μ μμ΅λλ€. μ΄λ μ΄κΈ° λ‘λ μκ°κ³Ό μ¬μ©μ κ²½νμ ν¬κ² ν₯μμν¬ μ μμ΅λλ€.
4. ν¨κ³Όμ μΈ λͺ¨λ μΊμ±
λͺ¨λμ μΊμ±νλ©΄ λ°λ³΅μ μΈ νμ± λ° μ ν¨μ± κ²μ¬μ νμμ±μ ν¬κ² μ€μΌ μ μμ΅λλ€. μ΄λ λ€μκ³Ό κ°μ λ°©λ²μΌλ‘ λ¬μ±ν μ μμ΅λλ€:
- λΈλΌμ°μ μΊμ±: λͺ¨λμ λΈλΌμ°μ μΊμ±μ νμ±ννλλ‘ HTTP ν€λλ₯Ό ꡬμ±ν©λλ€.
- μλΉμ€ μ컀(Service Workers): μλΉμ€ μ컀λ₯Ό μ¬μ©νμ¬ λͺ¨λμ μΊμ±νκ³ μΊμμμ μ 곡ν©λλ€.
- μΈλ©λͺ¨λ¦¬ μΊμ±(In-Memory Caching): λ λΉ λ₯Έ μ κ·Όμ μν΄ νμ±λ λͺ¨λμ λ©λͺ¨λ¦¬μ μΊμ±ν©λλ€.
μλ₯Ό λ€μ΄, μ μ ν `Cache-Control` ν€λλ₯Ό μ€μ νμ¬ λΈλΌμ°μ κ° μ§μ λ κΈ°κ° λμ λͺ¨λμ μΊμ±νλλ‘ μ§μν μ μμ΅λλ€. μ΄λ μ¬λ°©λ¬Έ μ¬μ©μμ λ‘λ© μκ°μ ν¬κ² λ¨μΆμν¬ μ μμ΅λλ€. μλΉμ€ μ컀λ μΊμ±μ λν΄ ν¨μ¬ λ μΈλ°ν μ μ΄λ₯Ό μ 곡νλ©° λͺ¨λμ λν μ€νλΌμΈ μ κ·Όμ κ°λ₯νκ² ν μ μμ΅λλ€.
5. λ체 λͺ¨λ λ©νλ°μ΄ν° μ κ·Ό λ°©μ κ³ λ €
μ΄λ€ κ²½μ°μλ import assertionμ μ€λ²ν€λκ° λ무 ν΄ μ μμ΅λλ€. λͺ¨λ λ©νλ°μ΄ν°λ₯Ό μ λ¬νλ λ체 μ κ·Ό λ°©μμ΄ μ ν©νμ§ κ³ λ €ν΄ λ³΄μΈμ.
- λΉλ νμ μ ν¨μ± κ²μ¬: κ°λ₯νλ€λ©΄ λ°νμμ΄ μλ λΉλ κ³Όμ μμ λͺ¨λ μ ν μ ν¨μ± κ²μ¬λ₯Ό μνν©λλ€. λ¦°ν°λ νμ 체컀μ κ°μ λꡬλ₯Ό μ¬μ©νμ¬ λ°°ν¬ μ μ λͺ¨λμ΄ μμ νμμ λ°λ₯΄λμ§ νμΈν μ μμ΅λλ€.
- μ¬μ©μ μ μ λ©νλ°μ΄ν° ν€λ: μλ²μμ λ‘λλλ λͺ¨λμ κ²½μ°, μ¬μ©μ μ μ HTTP ν€λλ₯Ό μ¬μ©νμ¬ λͺ¨λ μ ν μ 보λ₯Ό μ λ¬ν©λλ€. μ΄λ₯Ό ν΅ν΄ ν΄λΌμ΄μΈνΈλ import assertionμ μμ‘΄νμ§ μκ³ μ ν¨μ± κ²μ¬λ₯Ό μνν μ μμ΅λλ€.
μλ₯Ό λ€μ΄, λΉλ μ€ν¬λ¦½νΈλ λͺ¨λ JSON νμΌμ΄ νΉμ μ€ν€λ§λ₯Ό λ°λ₯΄λμ§ κ²μ¦ν μ μμ΅λλ€. μ΄λ import assertionμ ν΅ν λ°νμ μ ν κ²μ¬μ νμμ±μ μ κ±°ν©λλ€. λΉλ μ€ μ ν¨μ± κ²μ¬ μ€ν¨κ° λ°μνλ©΄, λ°°ν¬ νμ΄νλΌμΈμ μ€λ¨νμ¬ νλ‘λμ νκ²½μ μ€λ₯λ₯Ό λ°©μ§ν μ μμ΅λλ€.
6. μλ°μ€ν¬λ¦½νΈ μμ§ μ΅μ ν
μλ°μ€ν¬λ¦½νΈ λ°νμ νκ²½(λΈλΌμ°μ , Node.js)μ μ΅μ μνλ‘ μ μ§νμΈμ. μλ°μ€ν¬λ¦½νΈ μμ§μ μ§μμ μΌλ‘ μ΅μ νλκ³ μμΌλ©°, μ΅μ λ²μ μλ import assertionμ λν μ±λ₯ κ°μ μ΄ ν¬ν¨λ μ μμ΅λλ€.
7. νλ‘νμΌλ§ λ° μΈ‘μ
import assertionμ΄ μ ν리μΌμ΄μ μ λ―ΈμΉλ μν₯μ μ΄ν΄νλ κ°μ₯ ν¨κ³Όμ μΈ λ°©λ²μ μ€μ μλ리μ€μμ μ±λ₯μ νλ‘νμΌλ§νκ³ μΈ‘μ νλ κ²μ λλ€. λΈλΌμ°μ κ°λ°μ λꡬλ Node.js νλ‘νμΌλ§ λꡬλ₯Ό μ¬μ©νμ¬ μ±λ₯ λ³λͺ© νμμ μλ³νκ³ κ·Έμ λ°λΌ μ΅μ ννμΈμ. Chrome DevToolsμ Performance νκ³Ό κ°μ λꡬλ₯Ό μ¬μ©νλ©΄ μλ°μ€ν¬λ¦½νΈ μ½λμ μ€ν μκ°μ κΈ°λ‘ λ° λΆμνκ³ , λ³λͺ© νμμ μλ³νλ©°, μ±λ₯ λ¬Έμ λ₯Ό μ§λ¨ν μ μμ΅λλ€. Node.jsμλ CPU νλ‘νμΌλ§ λ° λ©λͺ¨λ¦¬ λΆμμ μν λ΄μ₯ λꡬ λ° μλνν° λκ΅¬κ° μμ΅λλ€.
μ€μ μ¬λ‘ λ° μΌμ΄μ€ μ€ν°λ
import assertionμ μ±λ₯ μν₯μ μ€λͺ νκΈ° μν΄ λͺ κ°μ§ μ€μ μ¬λ‘λ₯Ό μ΄ν΄λ³΄κ² μ΅λλ€:
- μ μμκ±°λ μΉμ¬μ΄νΈ: ν μ μμκ±°λ μΉμ¬μ΄νΈλ CDNμμ λ‘λλλ μ ν μΉ΄νλ‘κ·Έ λ°μ΄ν°μ 무결μ±μ 보μ₯νκΈ° μν΄ import assertionμ μ¬μ©ν©λλ€. JSON λ°μ΄ν° νμμ μ΅μ ννκ³ λΈλΌμ°μ μΊμ±μ μ¬μ©νμ¬ μΉμ¬μ΄νΈλ μ±λ₯ μ€λ²ν€λλ₯Ό μ΅μννκ³ μνν μ¬μ©μ κ²½νμ 보μ₯ν μ μμ΅λλ€.
- λ°μ΄ν° μκ°ν μ ν리μΌμ΄μ : ν λ°μ΄ν° μκ°ν μ ν리μΌμ΄μ μ μ격 μλ²μμ λ‘λλλ λκ·λͺ¨ λ°μ΄ν°μ μ νμμ κ²μ¦νκΈ° μν΄ import assertionμ μ¬μ©ν©λλ€. MessagePackκ³Ό κ°μ λ ν¨μ¨μ μΈ λ°μ΄λ리 νμμΌλ‘ μ νν¨μΌλ‘μ¨ μ ν리μΌμ΄μ μ λ°μ΄ν° λ‘λ© μκ°μ ν¬κ² κ°μ νκ³ λ©λͺ¨λ¦¬ μ¬μ©λμ μ€μΌ μ μμ΅λλ€.
- WebAssembly κ²μ: ν WebAssembly κ²μμ WebAssembly λͺ¨λμ 무결μ±μ νμΈνκΈ° μν΄ import assertionμ μ¬μ©ν©λλ€. λͺ¨λμ λ°±κ·ΈλΌμ΄λμμ μ¬μ λ‘λ©ν¨μΌλ‘μ¨ κ²μμ μ΄κΈ° λ‘λ© μκ°μ μ΅μννκ³ λ λ°μμ μΈ μ¬μ©μ κ²½νμ μ 곡ν μ μμ΅λλ€.
λͺλͺ μΌμ΄μ€ μ€ν°λλ λͺ¨λ λ‘λ© μ λ΅κ³Ό λ°μ΄ν° νμμ μ΅μ ννλ©΄ import assertionμ μ¬μ©νλ κ²½μ°μλ μλΉν μ±λ₯ ν₯μμ κ°μ Έμ¬ μ μμμ 보μ¬μ£Όμμ΅λλ€. μλ₯Ό λ€μ΄, ꡬκΈμ ν μΌμ΄μ€ μ€ν°λμ λ°λ₯΄λ©΄ μ½λ λΆν κ³Ό μ§μ° λ‘λ©μ μ¬μ©νλ©΄ μΉ μ ν리μΌμ΄μ μ μ΄κΈ° λ‘λ© μκ°μ μ΅λ 50%κΉμ§ μ€μΌ μ μμ΅λλ€.
κ²°λ‘
μλ°μ€ν¬λ¦½νΈ import assertionμ λͺ¨λμ μ ν μμ μ±κ³Ό 무결μ±μ 보μ₯νλ κ·μ€ν λ©μ»€λμ¦μ μ 곡ν©λλ€. κ·Έλ¬λ λͺ¨λ μ ν κ²μ¬μ κ΄λ ¨λ μ μ¬μ μΈ μ±λ₯ μ€λ²ν€λλ₯Ό μΈμ§νλ κ²μ΄ μ€μν©λλ€. μ±λ₯μ μν₯μ λ―ΈμΉλ μμΈμ μ΄ν΄νκ³ μ΄ κΈμμ μ€λͺ ν μ΅μ ν μ λ΅μ ꡬνν¨μΌλ‘μ¨, κ°λ°μλ import assertionμ μν₯μ ν¨κ³Όμ μΌλ‘ μννκ³ μννλ©° λ°μμ μΈ μ¬μ©μ κ²½νμ 보μ₯ν μ μμ΅λλ€. μ€μ μλ리μ€μμ μ±λ₯μ νλ‘νμΌλ§νκ³ μΈ‘μ νλ κ²μ μ±λ₯ λ³λͺ© νμμ μλ³νκ³ ν΄κ²°νλ λ° μ¬μ ν μ€μν©λλ€. Import assertion ꡬν μ¬λΆλ₯Ό κ²°μ ν λ μ ν μμ μ±κ³Ό λ‘λ© μλ μ¬μ΄μ μ₯λ¨μ μ κ³ λ €νμΈμ.